在數位轉型的過程,通常不會是一步到位,總是會有一些青黃不接的過渡時期,在這些過渡時期的各項產出可能都會有一點尷尬。最常遇到的情況之一是,明明已經將表單數位化了,但是由於種種因素,還是會需要用到大量紙本表單,這些表單的資料,又要想辦法輸入到資料庫裡,需要有耗時耗力 key in,而且也會有恍神輸入錯誤的風險。為了渡過這樣的尷尬時期,或許就可以利用光學字元辨識(Optical Character Recognition,OCR)的技術來解決問題。但自己訓練模型又太久,所以我們可以偷懶一下,利用 Azure Form Recognizer。
以下兩個範例,是將紙本表單 掃瞄 後,上傳到 Form Recognizer Studio 進行測試:
以吞嚥問題評估表作為示範
針對文字的部分,很明顯可以幾乎都有偵測到文字,且手寫文字也可被辨識。
可偵測到何處為表格,表格內需要打勾的格子,也被轉換成 checkbox 的形式呈現,並且知道哪一格被打勾了。
若點選 Selection marks,也明確呈現出,每個格子勾選的情況。
以這份肌少症風險自我檢測(SARC-F)為例:
這邊有一個小問題,checkbox 離文字太近,可能會導致偵測效果變差,例如:方框可能無法有效被偵測到,偵測成『コ』,或者『□2 分』變成『11 分』。
在不自己訓練模型的情況下,最簡單的偷懶方法是,直接用修圖改掉原始表格。假設稍微把方框與文字分開一點,得到的結果就會改善許多。
如果需要偵測的表格只有幾張,或許手動上傳偵測,可能還可以接受,但是量太大就有點痛苦了,這時候還是得稍微寫一點程式來處理。Azure Form Recognizer 也還算佛心,雖然現在還是預覽的版本,但也已經開出 API ,也把範例程式碼(Python, JavaScript, C#)直接放在網頁上,可以直接複製貼上,再自己依情況修改。
會需要用到自己的 key 和 endpoint,直接去自己的 resource 去取用即可,詳情點此。
另外,以下三點可以注意一下:
有需要大量偵測紙本表格的人可以參考此 Colab Notebook。